package com.example.demo.service;


import com.example.demo.dto.vo.PageVo;
import com.example.demo.entity.AddressBook;
import com.github.pagehelper.PageInfo;

import java.time.LocalDate;

/**
 * 通讯录服务interface
 *
 * @author wzw
 * @date 2022/4/29 10:51
 */
public interface AddressBookService {
    /**
     * 根据id返回通讯录
     *
     * @param id 指定id
     * @return 返回信息
     */
    AddressBook getAddressBookById(Long id);

    /**
     * 根据页面大小和页数分页查询
     *
     * @param pagevo 页码和页数
     * @return 查询信息
     */
    PageInfo<AddressBook> listAddressBooksByPage(PageVo pagevo);

    /**
     * 创建通讯录
     *
     * @param name     名字
     * @param phone    电话
     * @param birthday 生日
     * @param remark   备注
     * @return 创建信息
     */
    String insertAddressBook(String name, String phone, LocalDate birthday, String remark);

    /**
     * 根据信息进行更新
     *
     * @param id       指定id
     * @param name     名字
     * @param phone    电话
     * @param birthday 生日
     * @param remark   备注
     * @return 更新信息
     */
    String updateAddressBook(Long id, String name, String phone, LocalDate birthday, String remark);

    /**
     * 根据id删除
     *
     * @param id 指定id
     * @return 删除信息
     */
    String removeAddressBook(Long id);

}
